Virtual reality

ABSTRACT

A virtual reality apparatus includes a head mountable display (HMD) to display video content; an orientation detector to detect a current orientation of the HMD; and a display generator to generate video content for display by the HMD, the video content representing a portion of a virtual environment, the display generator selecting the portion for display by the HMD in dependence upon: a current orientation of the HMD; and a location within the virtual environment of a feature of interest.

BACKGROUND Field of the Disclosure

This disclosure relates to virtual reality systems and methods.

Description of the Prior Art

The “background” description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description which may nototherwise qualify as prior art at the time of filing, are neitherexpressly or impliedly admitted as prior art against the presentdisclosure.

A head-mountable display (HMD) is one example of a head-mountableapparatus for use in a virtual reality system in which an HMD wearerviews a virtual environment. In an HMD, an image or video display deviceis provided which may be worn on the head or as part of a helmet. Eitherone eye or both eyes are provided with small electronic display devices.

Some HMDs allow a displayed image to be superimposed on a real-worldview. This type of HMD can be referred to as an optical see-through HMDand generally requires the display devices to be positioned somewhereother than directly in front of the user's eyes. Some way of deflectingthe displayed image so that the user may see it is then required. Thismight be through the use of a partially reflective mirror placed infront of the user's eyes so as to allow the user to see through themirror but also to see a reflection of the output of the displaydevices. In another arrangement, disclosed in EP-A-1 731 943 andUS-A-2010/0157433, a waveguide arrangement employing total internalreflection is used to convey a displayed image from a display devicedisposed to the side of the user's head so that the user may see thedisplayed image but still see a view of the real world through thewaveguide. Once again, in either of these types of arrangement, avirtual image of the display is created (using known techniques) so thatthe user sees the virtual image at an appropriate size and distance toallow relaxed viewing. For example, even though the physical displaydevice may be tiny (for example, 10 mm×10 mm) and may be just a fewmillimetres from the user's eye, the virtual image may be arranged so asto be perceived by the user at a distance of (for example) 20 m from theuser, having a perceived size of 5 m×5 m.

Other HMDs, however, allow the user only to see the displayed images,which is to say that they obscure the real world environment surroundingthe user. This type of HMD can position the actual display devices infront of the user's eyes, in association with appropriate lenses orother optical components which place a virtual displayed image at asuitable distance for the user to focus in a relaxed manner—for example,at a similar virtual distance and perceived size as the opticalsee-through HMD described above. This type of device might be used forviewing movies or similar recorded content, or for viewing so-calledvirtual reality content representing a virtual space surrounding theuser. It is of course however possible to display a real-world view onthis type of HMD, for example by using a forward-facing camera togenerate images for display on the display devices.

Although the original development of HMDs and virtual reality wasperhaps driven by the military and professional applications of thesedevices, HMDs are becoming more popular for use by casual users in, forexample, computer game or domestic computing applications.

The foregoing paragraphs have been provided by way of generalintroduction, and are not intended to limit the scope of the followingclaims. The described embodiments, together with further advantages,will be best understood by reference to the following detaileddescription taken in conjunction with the accompanying drawings.

Various aspects and features of the present disclosure are defined inthe appended claims and within the text of the accompanying descriptionand include at least a head mountable apparatus such as a display and amethod of operating a head-mountable apparatus as well as a computerprogram.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the disclosure and many of the attendantadvantages thereof will be readily obtained as the same becomes betterunderstood by reference to the following detailed description whenconsidered in connection with the accompanying drawings, wherein:

FIG. 1 schematically illustrates an HMD worn by a user;

FIG. 2 is a schematic plan view of an HMD;

FIG. 3 schematically illustrates the formation of a virtual image by anHMD;

FIG. 4 schematically illustrates another type of display for use in anHMD;

FIG. 5 schematically illustrates a pair of stereoscopic images;

FIGS. 6 and 7 schematically illustrate a user wearing an HMD connectedto a Sony® PlayStation 3® games console;

FIG. 8 schematically illustrates a change of view of user of an HMD;

FIGS. 9a and 9b schematically illustrate HMDs with motion sensing;

FIG. 10 schematically illustrates a position sensor based on opticalflow detection;

FIG. 11 schematically illustrates image processing carried out inresponse to a detected position or change in position of an HMD;

FIG. 12 schematically illustrates a virtual reality system;

FIG. 13 schematically illustrates a virtual environment;

FIGS. 14 and 15 are schematic flowcharts illustrating methods;

FIG. 16 is a schematic side view of an HMD;

FIG. 17 is a schematic front view of an HMD;

FIG. 18 is a schematic diagram of a camera;

FIG. 19 is a schematic diagram of a hand-held controller;

FIGS. 20a, 21a and 22a schematically represent orientations, relative toa camera, of a user wearing an HMD;

FIGS. 20b, 21b and 22b schematically represent captured images of thearrangements of FIGS. 20a, 21a and 22a respectively;

FIGS. 23 and 24 are schematic flowcharts illustrating methods.

DESCRIPTION OF THE EMBODIMENTS

Referring now to FIG. 1, a user 10 is wearing an HMD 20 (as an exampleof a generic head-mountable apparatus or virtual reality apparatus). TheHMD comprises a frame 40, in this example formed of a rear strap and atop strap, and a display portion 50.

Note that the HMD of FIG. 1 may comprise further features, to bedescribed below in connection with other drawings, but which are notshown in FIG. 1 for clarity of this initial explanation.

The HMD of FIG. 1 completely (or at least substantially completely)obscures the user's view of the surrounding environment. All that theuser can see is the pair of images displayed within the HMD.

The HMD has associated headphone audio transducers or earpieces 60 whichfit into the user's left and right ears 70. The earpieces 60 replay anaudio signal provided from an external source, which may be the same asthe video signal source which provides the video signal for display tothe user's eyes. A boom microphone 75 is mounted on the HMD so as toextend towards the user's mouth.

The combination of the fact that the user can see only what is displayedby the HMD and, subject to the limitations of the noise blocking oractive cancellation properties of the earpieces and associatedelectronics, can hear only what is provided via the earpieces, mean thatthis HMD may be considered as a so-called “full immersion” HMD. Notehowever that in some embodiments the HMD is not a full immersion HMD,and may provide at least some facility for the user to see and/or hearthe user's surroundings. This could be by providing some degree oftransparency or partial transparency in the display arrangements, and/orby projecting a view of the outside (captured using a camera, forexample a camera mounted on the HMD) via the HMD's displays, and/or byallowing the transmission of ambient sound past the earpieces and/or byproviding a microphone to generate an input sound signal (fortransmission to the earpieces) dependent upon the ambient sound.

A front-facing camera 122 may capture images to the front of the HMD, inuse. A Bluetooth® antenna 124 may provide communication facilities ormay simply be arranged as a directional antenna to allow a detection ofthe direction of a nearby Bluetooth transmitter.

In operation, a video signal is provided for display by the HMD. Thiscould be provided by an external video signal source 80 such as a videogames machine or data processing apparatus (such as a personalcomputer), in which case the signals could be transmitted to the HMD bya wired or a wireless connection 82. Examples of suitable wirelessconnections include Bluetooth® connections. Audio signals for theearpieces 60 can be carried by the same connection. Similarly, anycontrol signals passed from the HMD to the video (audio) signal sourcemay be carried by the same connection. Furthermore, a power supply 83(including one or more batteries and/or being connectable to a mainspower outlet) may be linked by a cable 84 to the HMD. Note that thepower supply 83 and the video signal source 80 may be separate units ormay be embodied as the same physical unit. There may be separate cablesfor power and video (and indeed for audio) signal supply, or these maybe combined for carriage on a single cable (for example, using separateconductors, as in a USB cable, or in a similar way to a “power overEthernet” arrangement in which data is carried as a balanced signal andpower as direct current, over the same collection of physical wires).The video and/or audio signal may be carried by, for example, an opticalfibre cable. In other embodiments, at least part of the functionalityassociated with generating image and/or audio signals for presentationto the user may be carried out by circuitry and/or processing formingpart of the HMD itself. A power supply may be provided as part of theHMD itself.

Some embodiments of the disclosure are applicable to an HMD having atleast one electrical and/or optical cable linking the HMD to anotherdevice, such as a power supply and/or a video (and/or audio) signalsource. So, embodiments of the disclosure can include, for example:

(a) an HMD having its own power supply (as part of the HMD arrangement)but a cabled connection to a video and/or audio signal source;

(b) an HMD having a cabled connection to a power supply and to a videoand/or audio signal source, embodied as a single physical cable or morethan one physical cable;

(c) an HMD having its own video and/or audio signal source (as part ofthe HMD arrangement) and a cabled connection to a power supply; or (d)an HMD having a wireless connection to a video and/or audio signalsource and a cabled connection to a power supply.

If one or more cables are used, the physical position at which the cable82 and/or 84 enters or joins the HMD is not particularly important froma technical point of view. Aesthetically, and to avoid the cable(s)brushing the user's face in operation, it would normally be the casethat the cable(s) would enter or join the HMD at the side or back of theHMD (relative to the orientation of the user's head when worn in normaloperation). Accordingly, the position of the cables 82, 84 relative tothe HMD in FIG. 1 should be treated merely as a schematicrepresentation.

Accordingly, the arrangement of FIG. 1 provides an example of ahead-mountable display system comprising a frame to be mounted onto anobserver's head, the frame defining one or two eye display positionswhich, in use, are positioned in front of a respective eye of theobserver and a display element mounted with respect to each of the eyedisplay positions, the display element providing a virtual image of avideo display of a video signal from a video signal source to that eyeof the observer.

FIG. 1 shows just one example of an HMD. Other formats are possible: forexample an HMD could use a frame more similar to that associated withconventional eyeglasses, namely a substantially horizontal leg extendingback from the display portion to the top rear of the user's ear,possibly curling down behind the ear. In other (not full immersion)examples, the user's view of the external environment may not in fact beentirely obscured; the displayed images could be arranged so as to besuperposed (from the user's point of view) over the externalenvironment. An example of such an arrangement will be described belowwith reference to FIG. 4.

In the example of FIG. 1, a separate respective display is provided foreach of the user's eyes. A schematic plan view of how this is achievedis provided as FIG. 2, which illustrates the positions 100 of the user'seyes and the relative position 110 of the user's nose. The displayportion 50, in schematic form, comprises an exterior shield 120 to maskambient light from the user's eyes and an internal shield 130 whichprevents one eye from seeing the display intended for the other eye. Thecombination of the user's face, the exterior shield 120 and the interiorshield 130 form two compartments 140, one for each eye. In each of thecompartments there is provided a display element 150 and one or moreoptical elements 160. The way in which the display element and theoptical element(s) cooperate to provide a display to the user will bedescribed with reference to FIG. 3.

Referring to FIG. 3, the display element 150 generates a displayed imagewhich is (in this example) refracted by the optical elements 160 (shownschematically as a convex lens but which could include compound lensesor other elements) so as to generate a virtual image 170 which appearsto the user to be larger than and significantly further away than thereal image generated by the display element 150. As an example, thevirtual image may have an apparent image size (image diagonal) of morethan 1 m and may be disposed at a distance of more than 1 m from theuser's eye (or from the frame of the HMD). In general terms, dependingon the purpose of the HMD, it is desirable to have the virtual imagedisposed a significant distance from the user. For example, if the HMDis for viewing movies or the like, it is desirable that the user's eyesare relaxed during such viewing, which requires a distance (to thevirtual image) of at least several metres. In FIG. 3, solid lines (suchas the line 180) are used to denote real optical rays, whereas brokenlines (such as the line 190) are used to denote virtual rays.

An alternative arrangement is shown in FIG. 4. This arrangement may beused where it is desired that the user's view of the externalenvironment is not entirely obscured. However, it is also applicable toHMDs in which the user's external view is wholly obscured. In thearrangement of FIG. 4, the display element 150 and optical elements 200cooperate to provide an image which is projected onto a mirror 210,which deflects the image towards the user's eye position 220. The userperceives a virtual image to be located at a position 230 which is infront of the user and at a suitable distance from the user.

In the case of an HMD in which the user's view of the externalsurroundings is entirely obscured, the mirror 210 can be a substantially100% reflective mirror. The arrangement of FIG. 4 then has the advantagethat the display element and optical elements can be located closer tothe centre of gravity of the user's head and to the side of the user'seyes, which can produce a less bulky HMD for the user to wear.Alternatively, if the HMD is designed not to completely obscure theuser's view of the external environment, the mirror 210 can be madepartially reflective so that the user sees the external environment,through the mirror 210, with the virtual image superposed over the realexternal environment.

In the case where separate respective displays are provided for each ofthe user's eyes, it is possible to display stereoscopic images. Anexample of a pair of stereoscopic images for display to the left andright eyes is shown in FIG. 5. The images exhibit a lateral displacementrelative to one another, with the displacement of image featuresdepending upon the (real or simulated) lateral separation of the camerasby which the images were captured, the angular convergence of thecameras and the (real or simulated) distance of each image feature fromthe camera position.

Note that the lateral displacements in FIG. 5 could in fact be the otherway round, which is to say that the left eye image as drawn could infact be the right eye image, and the right eye image as drawn could infact be the left eye image. This is because some stereoscopic displaystend to shift objects to the right in the right eye image and to theleft in the left eye image, so as to simulate the idea that the user islooking through a stereoscopic window onto the scene beyond. However,some HMDs use the arrangement shown in FIG. 5 because this gives theimpression to the user that the user is viewing the scene through a pairof binoculars. The choice between these two arrangements is at thediscretion of the system designer.

In some situations, an HMD may be used simply to view movies and thelike. In this case, there is no change required to the apparentviewpoint of the displayed images as the user turns the user's head, forexample from side to side. In other uses, however, such as thoseassociated with virtual reality (VR) or augmented reality (AR) systems,the user's viewpoint needs to track movements with respect to a real orvirtual space in which the user is located.

FIG. 6 schematically illustrates an example virtual reality system andin particular shows a user wearing an HMD connected to a Sony®PlayStation 3® games console 300 as an example of a base device. Thegames console 300 is connected to a mains power supply 310 and(optionally) to a main display screen (not shown). A cable, acting asthe cables 82, 84 discussed above (and so acting as both power supplyand signal cables), links the HMD 20 to the games console 300 and is,for example, plugged into a USB socket 320 on the console 300. Note thatin the present embodiments, a single physical cable is provided whichfulfils the functions of the cables 82, 84. In FIG. 6, the user is alsoshown holding a pair of hand-held controller 330 s which may be, forexample, Sony® Move® controllers which communicate wirelessly with thegames console 300 to control (or to contribute to the control of) gameoperations relating to a currently executed game program.

The video displays in the HMD 20 are arranged to display imagesgenerated by the games console 300, and the earpieces 60 in the HMD 20are arranged to reproduce audio signals generated by the games console300. Note that if a USB type cable is used, these signals will be indigital form when they reach the HMD 20, such that the HMD 20 comprisesa digital to analogue converter (DAC) to convert at least the audiosignals back into an analogue form for reproduction.

Images from the camera 122 mounted on the HMD 20 are passed back to thegames console 300 via the cable 82, 84. Similarly, if motion or othersensors are provided at the HMD 20, signals from those sensors may be atleast partially processed at the HMD 20 and/or may be at least partiallyprocessed at the games console 300. The use and processing of suchsignals will be described further below.

The USB connection from the games console 300 also provides power to theHMD 20, according to the USB standard.

FIG. 6 also shows a separate display 305 such as a television or otheropenly viewable display (by which it is meant that viewers other thanthe HMD wearer may see images displayed by the display 305) and a camera315, which may be (for example) directed towards the user (such as theHMD wearer) during operation of the apparatus. An example of a suitablecamera is the PlayStation Eye camera, although more generally a generic“webcam”, connected to the console 300 by a wired (such as a USB) orwireless (such as WiFi or Bluetooth) connection.

The display 305 may be arranged (under the control of the games console)to provide the function of a so-called “social screen”. It is noted thatplaying a computer game using an HMD can be very engaging for the wearerof the HMD but less so for other people in the vicinity (particularly ifthey are not themselves also wearing HMDs). To provide an improvedexperience for a group of users, where the number of HMDs in operationis fewer than the number of users, images can be displayed on a socialscreen. The images displayed on the social screen may be substantiallysimilar to those displayed to the user wearing the HMD, so that viewersof the social screen see the virtual environment (or a subset, versionor representation of it) as seen by the HMD wearer. In other examples,the social screen could display other material such as informationrelating to the HMD wearer's current progress through the ongoingcomputer game. For example, the HMD wearer could see the gameenvironment from a first person viewpoint whereas the social screencould provide a third person view of activities and movement of the HMDwearer's avatar, or an overview of a larger portion of the virtualenvironment. In these examples, an image generator (for example, a partof the functionality of the games console) is configured to generatesome of the virtual environment images for display by a display separateto the head mountable display.

FIG. 7 schematically illustrates a similar arrangement (another exampleof a virtual reality system) in which the games console is connected (bya wired or wireless link) to a so-called “break out box” acting as abase or intermediate device 350, to which the HMD 20 is connected by acabled link 82, 84. The breakout box has various functions in thisregard. One function is to provide a location, near to the user, forsome user controls relating to the operation of the HMD, such as (forexample) one or more of a power control, a brightness control, an inputsource selector, a volume control and the like. Another function is toprovide a local power supply for the HMD (if one is needed according tothe embodiment being discussed). Another function is to provide a localcable anchoring point. In this last function, it is not envisaged thatthe break-out box 350 is fixed to the ground or to a piece of furniture,but rather than having a very long trailing cable from the games console300, the break-out box provides a locally weighted point so that thecable 82, 84 linking the HMD 20 to the break-out box will tend to movearound the position of the break-out box. This can improve user safetyand comfort by avoiding the use of very long trailing cables.

It will be appreciated that the localisation of processing in thevarious techniques described in this application can be varied withoutchanging the overall effect, given that an HMD may form part of a set orcohort of interconnected devices (that is to say, interconnected for thepurposes of data or signal transfer, but not necessarily connected by aphysical cable). So, processing which is described as taking place “at”one device, such as at the HMD, could be devolved to another device suchas the games console (base device) or the break-out box. Processingtasks can be shared amongst devices. Source signals, on which theprocessing is to take place, could be distributed to another device, orthe processing results from the processing of those source signals couldbe sent to another device, as required. So any references to processingtaking place at a particular device should be understood in thiscontext. Similarly, where an interaction between two devices isbasically symmetrical, for example where a camera or sensor on onedevice detects a signal or feature of the other device, it will beunderstood that unless the context prohibits this, the two devices couldbe interchanged without any loss of functionality.

As mentioned above, in some uses of the HMD, such as those associatedwith virtual reality (VR) or augmented reality (AR) systems, the user'sviewpoint needs to track movements with respect to a real or virtualspace in which the user is located.

This tracking is carried out by detecting motion of the HMD and varyingthe apparent viewpoint of the displayed images so that the apparentviewpoint tracks the motion.

FIG. 8 schematically illustrates the effect of a user head movement in aVR or AR system.

Referring to FIG. 8, a virtual environment is represented by a (virtual)spherical shell 250 around a user. This provides an example of a virtualdisplay screen (VDS). Because of the need to represent this arrangementon a two-dimensional paper drawing, the shell is represented by a partof a circle, at a distance from the user equivalent to the separation ofthe displayed virtual image from the user. A user is initially at afirst position 260 and is directed towards a portion 270 of the virtualenvironment. It is this portion 270 which is represented in the imagesdisplayed on the display elements 150 of the user's HMD. It can be seenfrom the drawing that the VDS subsists in three dimensional space (in avirtual sense) around the position in space of the HMD wearer, such thatthe HMD wearer sees a current portion of VDS according to the HMDorientation.

Consider the situation in which the user then moves his head to a newposition and/or orientation 280. In order to maintain the correct senseof the virtual reality or augmented reality display, the displayedportion of the virtual environment also moves so that, at the end of themovement, a new portion 290 is displayed by the HMD.

So, in this arrangement, the apparent viewpoint within the virtualenvironment moves with the head movement. If the head rotates to theright side, for example, as shown in FIG. 8, the apparent viewpoint alsomoves to the right from the user's point of view. If the situation isconsidered from the aspect of a displayed object, such as a displayedobject 300, this will effectively move in the opposite direction to thehead movement. So, if the head movement is to the right, the apparentviewpoint moves to the right but an object such as the displayed object300 which is stationary in the virtual environment will move towards theleft of the displayed image and eventually will disappear off theleft-hand side of the displayed image, for the simple reason that thedisplayed portion of the virtual environment has moved to the rightwhereas the displayed object 300 has not moved in the virtualenvironment.

FIGS. 9a and 9b schematically illustrated HMDs with motion sensing. Thetwo drawings are in a similar format to that shown in FIG. 2. That is tosay, the drawings are schematic plan views of an HMD, in which thedisplay element 150 and optical elements 160 are represented by a simplebox shape. Many features of FIG. 2 are not shown, for clarity of thediagrams. Both drawings show examples of HMDs with a motion detector fordetecting motion of the observer's head.

In FIG. 9a , a forward-facing camera 322 is provided on the front of theHMD. This may be the same camera as the camera 122 discussed above, ormay be an additional camera. This does not necessarily provide imagesfor display to the user (although it could do so in an augmented realityarrangement). Instead, its primary purpose in the present embodiments isto allow motion sensing. A technique for using images captured by thecamera 322 for motion sensing will be described below in connection withFIG. 10. In these arrangements, the motion detector comprises a cameramounted so as to move with the frame; and an image comparator operableto compare successive images captured by the camera so as to detectinter-image motion.

FIG. 9b makes use of a hardware motion detector 332. This can be mountedanywhere within or on the HMD. Examples of suitable hardware motiondetectors are piezoelectric accelerometers or optical fibre gyroscopes.It will of course be appreciated that both hardware motion detection andcamera-based motion detection can be used in the same device, in whichcase one sensing arrangement could be used as a backup when the otherone is unavailable, or one sensing arrangement (such as the camera)could provide data for changing the apparent viewpoint of the displayedimages, whereas the other (such as an accelerometer) could provide datafor image stabilisation.

FIG. 10 schematically illustrates one example of motion detection usingthe camera 322 of FIG. 9 a.

The camera 322 is a video camera, capturing images at an image capturerate of, for example, 25 images per second. As each image is captured,it is passed to an image store 400 for storage and is also compared, byan image comparator 410, with a preceding image retrieved from the imagestore. The comparison uses known block matching techniques (so-called“optical flow” detection) to establish whether substantially the wholeimage has moved since the time at which the preceding image wascaptured. Localised motion might indicate moving objects within thefield of view of the camera 322, but global motion of substantially thewhole image would tend to indicate motion of the camera rather than ofindividual features in the captured scene, and in the present casebecause the camera is mounted on the HMD, motion of the cameracorresponds to motion of the HMD and in turn to motion of the user'shead.

The displacement between one image and the next, as detected by theimage comparator 410, is converted to a signal indicative of motion by amotion detector 420. If required, the motion signal is converted by to aposition signal by an integrator 430.

As mentioned above, as an alternative to, or in addition to, thedetection of motion by detecting inter-image motion between imagescaptured by a video camera associated with the HMD, the HMD can detecthead motion using a mechanical or solid state detector 332 such as anaccelerometer. This can in fact give a faster response in respect of theindication of motion, given that the response time of the video-basedsystem is at best the reciprocal of the image capture rate. In someinstances, therefore, the detector 332 can be better suited for use withhigher frequency motion detection. However, in other instances, forexample if a high image rate camera is used (such as a 200 Hz capturerate camera), a camera-based system may be more appropriate. In terms ofFIG. 10, the detector 332 could take the place of the camera 322, theimage store 400 and the comparator 410, so as to provide an inputdirectly to the motion detector 420. Or the detector 332 could take theplace of the motion detector 420 as well, directly providing an outputsignal indicative of physical motion.

Other position or motion detecting techniques are of course possible.For example, a mechanical arrangement by which the HMD is linked by amoveable pantograph arm to a fixed point (for example, on a dataprocessing device or on a piece of furniture) may be used, with positionand orientation sensors detecting changes in the deflection of thepantograph arm. In other embodiments, a system of one or moretransmitters and receivers, mounted on the HMD and on a fixed point, canbe used to allow detection of the position and orientation of the HMD bytriangulation techniques. For example, the HMD could carry one or moredirectional transmitters, and an array of receivers associated withknown or fixed points could detect the relative signals from the one ormore transmitters. Or the transmitters could be fixed and the receiverscould be on the HMD. Examples of transmitters and receivers includeinfra-red transducers, ultrasonic transducers and radio frequencytransducers. The radio frequency transducers could have a dual purpose,in that they could also form part of a radio frequency data link toand/or from the HMD, such as a Bluetooth® link.

FIG. 11 schematically illustrates image processing carried out inresponse to a detected position or change in position of the HMD.

As mentioned above in connection with FIG. 10, in some applications suchas virtual reality and augmented reality arrangements, the apparentviewpoint of the video being displayed to the user of the HMD is changedin response to a change in actual position or orientation of the user'shead.

With reference to FIG. 11, this is achieved by a motion sensor 450 (suchas the arrangement of FIG. 10 and/or the motion detector 332 of FIG. 9b) supplying data indicative of motion and/or current position to arequired image position detector 460, which translates the actualposition of the HMD into data defining the required image for display.An image generator 480 accesses image data stored in an image store 470if required, and generates the required images from the appropriateviewpoint for display by the HMD. The external video signal source canprovide the functionality of the image generator 480 and act as acontroller to compensate for the lower frequency component of motion ofthe observer's head by changing the viewpoint of the displayed image soas to move the displayed image in the opposite direction to that of thedetected motion so as to change the apparent viewpoint of the observerin the direction of the detected motion.

FIG. 12 schematically illustrates a virtual reality system or apparatuscomprising: an HMD 1200 which may include an orientation detector 1205,for example of the type discussed above with reference to FIGS. 9A-11,one or more user controls 1210, a data processor 1220 such as a gameengine, an image processor 1230, a camera 1240 and optionally a socialscreen 1250 of the type discussed above. Storage media 1280 isoptionally provided to store (and to allow retrieval by the dataprocessor of) displayable content and/or game data.

In use, the user wears the HMD 1200 and can operate the one or morecontrols or controllers 1210. Examples of suitable user controls includethe controller 330 shown in FIGS. 6 and 7. The game engine 1220 providesimages and other content such as audio content to the HMD via a wired orwireless connection 1260 and receives input from the controllers 1210via the connection 1260 or via the camera 1240.

The camera 1240 is directed towards the HMD and/or controllers in use.The camera 1240 can therefore capture a current position and/ororientation of the HMD 1200 and a current position and/or orientation ofthe controllers 1210, each of which is detected from the captured imagesby the image processor 1230. These captured positions and/ororientations can be used to control data processing operations of thegame engine 1220, such as game control operations.

Similarly, the orientation detector 1205 can provide orientationinformation (such as a data defining a current orientation and/or datadefining a detected change in orientation) to the data processor 1220via the link 1260.

Therefore, in examples, there are various types of control input to thegame engine 1220, such as control inputs 1270 derived by the imageprocessor 1230 from captured images captured by the camera 1240 and/orcontrol inputs received from the controls 1210 via the wired or wirelessconnection 1260. The image processor 1230 provides an example of animage processor to detect, from one or more images captured by thecamera 1240, one or more of: (i) a current orientation of the HMD 1200;and (ii) a current location of the HMD 1200. The game engine 1220provides an example of a data processor to direct a data processingfunction according to the detection by the image processor. In someexamples, the data processing function is a gameplay function.

FIG. 13 schematically illustrates a virtual environment.

A virtual environment was discussed above with reference to FIG. 8. InFIG. 13, the virtual environment is schematically illustrated as aspherical shell around the HMD wearer who is considered to be located ata geometrical centre point 1300 of the spherical shell 1310. So, therepresentation of FIG. 8 was a two-dimensional representation of thevirtual environment, but in FIG. 13 a three-dimensional sphere isillustrated.

The HMD wearer can change his viewpoint of the virtual environment by,for example, moving his head while wearing the HMD. Again, techniquesfor detecting and reacting to such movement were discussed above withreference to FIGS. 8 to 11. These techniques are applicable to movementsin a lateral (panning) direction as well as to movements in a vertical(up/down) direction. At any particular time, the view of the virtualenvironment currently available to the HMD wearer is represented by aschematic region 1320 as the user moves his head while wearing the HMD,the region 1320 moves with relation to the virtual environment 1310.

The virtual environment 1310 may represent a computer game environmentgenerated by the data processor (optionally using data retrieved fromthe storage media 1280) with the data processor 1220 acting as a gameengine. The discussion above relates to the user's current viewpoint ofthe current virtual environment; the virtual environment itself maychange as (and in response to) the user moves around the virtualenvironment, and/or takes game actions, and/or progresses through thegame.

In other examples, the virtual environment 1310 can be a panoramic videosuch that video content is provided (for example, retrieved from thestorage media 1280) by the data processor 1220. A region 1320 isdisplayed to the HMD wearer and that region can be changed as discussedabove by the HMD wearer moving his or her head.

Note that in either example, the virtual environment does not have tooccupy a complete spherical region. In some examples, the virtualenvironment may be represented by a truncated sphere similar to thatshown in FIG. 13 but missing a spherical segment at one or both of thetop and bottom of the sphere as drawn in FIG. 13. Here, a sphericalsegment is defined as the portion of the sphere which is “cut off” orremoved by intersecting a plane above or below the equatorial plane ofthe sphere shown in FIG. 13. In other examples, a more limited lateralor panning movement may be permitted such that the virtual environmentdoes not extend for the full 360 degrees around the user in a lateralsense, but extends over a smaller panning range such as 180 degrees tothe left or right. In general, different types of virtual environmentcan be used, but an overall principle is that the available virtualenvironment which the user could view is greater in extent than theregion 1320 which the user can view at any one time.

Therefore, in examples, the virtual environment can be formed as a videorepresentation of the virtual environment. In other examples, the dataprocessor 1220 can act as a game processor (and thereby as a displaygenerator) configured to generate the representation of the virtualenvironment. In either case, the virtual environment may includefeatures of interest as discussed below.

FIGS. 14 and 15 are schematic flowcharts illustrating methods. FIG. 14relates to the use of the apparatus of FIG. 12 to display video content,and FIG. 15 relates to the use of the apparatus of FIG. 12 to displaygame content. The apparatus of FIG. 12, operating in accordance witheither or both of FIGS. 14 and 15 provides an example of a virtualreality apparatus comprising a head mountable display (HMD) to displayvideo content, an orientation detector (such as the detector 1205 and/orthe camera 1240, image processor 1230 and data processor 1220) to detecta current orientation of the HMD, and a display generator such as thedata processor 1220 to generate video content for display by the HMD.The video content represents a portion 1320 of a virtual environment1310. The display generator selects the portion for display by the HMDin dependence upon a current orientation of the HMD and a locationwithin the virtual environment of a feature of interest.

Referring to FIG. 14, which relates to the display of video contentrepresenting a portion of a video representation of a virtualenvironment (for example, an arrangement in the context of the displayof panoramic video material to the HMD wearer), at a step 1400 the dataprocessor 1220 retrieves the virtual representation, for example fromthe storage media 1280.

At a step 1410, the data processor 1220 detects metadata associated withthe virtual representation. In the case of a video virtualrepresentation, the metadata can indicate the location at a particulartime of a feature of interest within the virtual environment. Forexample, the feature of interest could be a main character in the videomaterial or a particular area of action such as sporting action withinthe video material. An example format of the metadata is as follows:

FOI location in timecode FOI identifier virtual environment t1-t2 FOI-A(coordinates) t3-t4 FOI-B (coordinates) t6-t6 FOI-A (coordinates)

This example of metadata provides an indication of the presence of eachFOI by timecode range (so that the step 1430 discussed below can, insome examples, be carried out once in respect of each FOI, at the startof that timecode range). The field “FOI identifier” does not need to beprovided, but can allow the FOIs to be ranked in importance, for exampleif two or more FOIs are present, at different coordinates, foroverlapping time periods.

The metadata can be stored alongside the video representation, forexample in the storage media 1280, or it can be retrieved, for examplefrom an internet connection when the representation is due for display,and/or it could be stored within the video representation, for examplewithin user data fields available in the video format. The informationprovided within the metadata can be inserted by the producers of thevideo material, for example.

After the detection of the metadata at the step 1410, a step 1420detects whether a point or feature of interest (FOI) is indicated asbeing present at the currently displayed time within the video material.If the answer is no then control passes to a step 1440 at which theapparatus of FIG. 12 continues to adjust the current viewpoint 1320according to the detected orientation of the HMD (which can encompass achange according to a variation in the detected orientation).

In these example arrangements, therefore, the display generator isconfigured to detect the location within the virtual environment of afeature of interest from metadata associated with a representation ofthe virtual environment.

If, however, a feature of interest is present at the step 1420, thencontrol passes to a step 1430.

Referring back to FIG. 13, a currently viewed region 1320 is shown,along with an example location 1330 of a feature of interest. The step1430 involves the data processor 1220 moving the currently viewed region1320 with respect to the virtual environment 1310 so that the feature ofinterest at the position 1330 is within the currently viewed region1320. In other words, the currently viewed region 1320 is moved withrespect to the virtual environment 1310 despite there being no change(or indeed a different change) in the detected physical orientation ofthe HMD.

If the current view already encompasses an (or the) FOI, then the step1430 (and the step 1530 to be discussed later) can be omitted.

This movement can be accomplished in various different ways. An abruptswitch to a new relative location in the virtual environment could bedisorientating for the user, so while this is a possibility, a moregradual movement (for example, over a period of n seconds such as twoseconds, or over a period of m seconds/degree of movement, such as 0.05seconds per degree) can be employed so that the change in location ofthe currently viewable region 1320 is more gradual. Therefore, in theseexamples, the display generator is configured to change the position ofthe video content for display by the HMD with respect to the virtualenvironment at no more than a maximum rate of change.

Note that during this change, the user's physical orientation of theuser's head and the HMD need not change. The change which takes place isa relative orientation of the virtual environment 1310 and the currentlyviewable region 1320, which can be considered as a change applied to thecurrently viewable region, a change applied to the virtual environment,or both.

In FIG. 13, the position of the currently viewable region relative tothe virtual environment 1310 is illustrated as a region 1340.

In some examples, after the change in relative position has taken place,the currently viewable region 1320 can be centred on the feature ofinterest. In other examples, it can be laterally centred on the FOI, butthe FOI can be displaced towards the lower edge of the currentlyviewable region. However, further examples will be discussed below withreference to FIG. 23. Therefore, in examples, the display generator isconfigured to generate the contents for display to the HMD so that afeature of interest is substantially at the centre (or at least thelateral centre) of the video content for display by the HMD.

In some examples, the step 1430 can be repeated as long as the FOIremains part of the content for display. In other examples, however,once the step 1430 has been first executed in respect of a newlyintroduced FOI, control can then pass to the step 1440 so thatsubsequent changes are allowed in response to detected changes in thephysical orientation of the HMD.

FIG. 15 schematically illustrates a flowchart representing a similarmethod to that shown in FIG. 14, but in this instance the techniquerelates to the generation of game content.

At a step 1500, the data processor 1220, acting (for example) as a gameengine, generates a virtual environment and, at a step 1510, canoptionally generate a feature of interest. In a game environment, afeature of interest could be another player having a major role in thegame, a prize, a major hazard or the like.

At a step 1520, the data processor 1220 detects whether a feature ofinterest is present. This could, in a similar manner to that discussedabove, involve a detection of whether a feature of interest is newlypresent so that, if so, a step 1530 at which the viewable region 1320 ismoved with respect to the virtual environment 1310 so as to be centredaround the feature of interest in the various optional manners discussedabove.

If no feature of interest is present, and/or once the display has beencentred at the step 1530, control passes to a step 1540 at which changesof the displayable region are allowed according to the detected physicalorientation (or changes in the detected physical orientation) of the HMD1200.

The steps 1440, 1540 therefore provide an example of an arrangement inwhich, if the representation of the virtual environment does notcurrently contain a feature of interest or, in at least some examples,after the feature of interest has been initially displayed, the displaygenerator is configured to change the selection of the video content inresponse to detected changes in orientation of the HMD.

Example techniques for detecting a current orientation and/or locationof the HMD will now be discussed with reference to FIGS. 16 to 18. Inparticular, FIG. 16 is a schematic side view of an HMD, FIG. 17 is aschematic front view of an HMD and FIG. 18 is a schematic diagram of acamera such as the camera 1240.

Referring to FIG. 16, the HMD 1600 is shown on a user's head 1610 withthe one or more straps holding the HMD on the user's head being shown inschematic broken lines 1620. In the diagram, the user is represented asfacing towards the right hand side of the page.

One or more optically detectable features are provided on the HMD. Inthe example of FIG. 16, the optically detectable features are aplurality of light emitters which, in this example, are provided aslight emitting diodes (LEDs) 1630. Similarly, in the front view in FIG.17 (in which the user's head is shown as a broken line 1700 relative tothe front view 1710 of the HMD, so that in the example the user is shownlooking out of the page) further LEDs are provided. In fact, in anexample arrangement in which the HMD curves around the user's head, LEDs1720 or 1730 can be the same as some of those visible in FIG. 16 from aside view. A further LED 1740 is provided towards the middle of the HMD.

These LEDs can be arranged to be optically detectable by the camera1240. In some examples, this can be by detection of bright points oflight in the scene represented by images captured by the camera 1240. Inother examples, the colour(s) of one or more of the LEDs can beselectable under control of the game engine 1220, for example to providean asymmetric (left to right) pattern of illumination and/or to allowmultiple HMD users present in the same captive image to bedistinguished. In further examples, a time-based modulation of the LEDscan be used, again to provide a system with the ability to distinguishbetween multiple users, to provide an asymmetric pattern of illuminationand/or to assist in detection of the presence of the LEDs. Any one ormore of these techniques can be combined.

The presence of the LEDs on the front and sides of the HMD give rise toa preferred or base orientation which faces the camera. However, otherbase orientations could be used. For example, if markings and/or LEDswere provided on the HMD strap a base orientation could be the user'shead pointing away from the camera. If markings and/or LEDs wereprovided on a top strap or surface of the HMD, a preferred orientationcould have the camera above the HMD. Note that markings and/or LEDs arenot required; the system could instead (or as well) recognise otherfeatures such as the shape and/or configuration of the HMD and/oraspects of the user's head.

The camera 1240 is shown schematically in FIG. 18 as a cameraarrangement 1800 having a stereoscopic pair 1810, 1820 of laterallyspaced cameras so as to provide the functionality of a depth camera. Thestereoscopic camera of FIG. 18 is just one example of a depth camera.Other types of cameras such as those using so-called structured infraredlight (for example, a projected grid of infrared light from which depthinformation can be acquired using an infrared sensor) are also capableof acting as the depth camera to detect the depth parameter of imagematerial in a captured image. Other depth camera techniques can includearrangements using ultrasonic depth detection.

It will be appreciated that the depth detection aspect relates todetection of the location of the HMD, whereas the detection of a currentorientation can be carried out by a camera which does not have the depthfunctionality. Therefore, some examples provide a depth camera but thisis not an essential feature of examples relating to the detection of adeviation of a current orientation of the HMD from a base orientation ofthe HMD.

The detection of the orientation and its deviation from a baseorientation will be discussed below with reference to FIGS. 20A to 22B.

FIG. 19 is a schematic diagram of a handheld controller comprising oneor more buttons 1900 such that when the user presses one or more of thebuttons 1900, a signal can be sent to the data processor 1220 by thelink 1260, and an illuminated portion 1910, the position of which can bedetected from images captured by the camera 1240. Again, the colour,brightness and temporal modulation (or any one or more of these) can becontrolled by the game engine 1220, for example to assist in detectionor in distinguishing multiple game controllers from one another.

FIGS. 20A, 21A and 22A schematically represent orientations relative toa camera, of a user wearing an HMD and FIGS. 20B, 21B and 22Bschematically represent captured images of the arrangements of FIGS.20A, 21A and 22A respectively.

In FIG. 20A, a plan view (that is to say, a schematic view lookingdownwards) is shown of a user 2000 wearing an HMD 2010 and facing acamera 2020, for example, the camera 1240 discussed above. FIG. 20Bshows a schematic representation of a resulting image or part of animage of the user's head wearing the HMD, in which a pattern of thelight emitters 2030 characteristic of the HMD facing the camera can bedetected by the image processor 1230.

In FIG. 21A, the user has turned his head slightly to one side, so thatthe view captured by the camera 2020 (as shown schematically in FIG.21B) demonstrates a characteristic pattern of the LEDs 2030 indicativeof the user having turned his head to the side and indicating, by theasymmetric nature of the pattern as drawn, which direction the user hasturned his head.

In FIG. 22A, the user has turned his head by 90 degrees to the siderelative to the camera 2020. The captured image shown schematically inFIG. 22B shows fewer of the LEDs indicative of the user having turnedhis head well away from the camera 2020.

Especially in a full immersion type of virtual reality system, it isquite possible that the user will move so as to face away from thecamera 1240 without necessarily realising that the user has done so.Example embodiments provide techniques to prompt the user to returntowards the base orientation, which is an orientation facing the camera(FIG. 20A). In a convenient and non-disruptive way without necessarilydisturbing the user's use of the HMD, for example in a gameplaysituation.

FIG. 23 is a schematic flowchart representing an alternative outcome tothe steps 1430, 1530 discussed above.

In the examples discussed above, after the movement of the currentlydisplayable region relative to the virtual environment, the FOI was (atleast laterally) centred within the displayable region. However, this isnot necessarily the case in other examples. FIG. 23 relates to anarrangement having a detector (for example implemented by the dataprocessor 1220) to detect a deviation of a current orientation of theHMD from a base orientation of the HMD, in which the display generator(for example, implemented by the data processor 1220) is configured togenerate the video content for display by the HMD so that the FOI isdisplaced from a central display position, the displacement being suchthat a wearer of the HMD is prompted to turn his head so as to changethe orientation of the HMD towards the base orientation.

In this example, it is noted that the user may have a base orientationof the HMD (for example, looking straight ahead with respect to theuser's body while in a seated position) but that the user may have beenturning his or her head during normal operation of the HMD so that theuser's head is not currently in the base orientation. If this is thecase, the change described with reference to the step 1530, 1430 can bearranged so that the FOI is displaced to one side of a central locationwithin the viewable region, after the step 1530, 1430 has beenimplemented.

In an example, if it is detected that the user's head is currentlyturned to the left with reference to the user's body, then the step1430, 1530 can result in the FOI being positioned initially to the righthand side of the currently viewable region. Instinctively, the user willlook towards the FOI and so tend to return his head towards the baseorientation. Similar considerations can be applied to deviations from abase vertical orientation. So, positioning of the FOI after the step1430, 1530 can lead to the user acting in accordance with the steps1440, 1540 so as to instinctively return the user's head towards thebase orientation.

The base orientation can be defined with reference to an initialorientation when the user starts operation, and/or with respect to arolling or recent average position or orientation on the basis that theuser will tend to move his head to either side around the user's currentbase orientation. So, the average orientation over (for example) themost recent two minutes of usage can be taken as the base orientation.

So, with reference to FIG. 23, at a step 2300 the data processor 1220detects deviations from the base orientation and, at a step 2310 detectsa required direction of motion, which is to say physical motion of theuser's head, to tend to return the user's head towards the baseorientation. At a step 2320, the data processor 1220 implements the step1430, 1530 by displaying the currently displayable region with the FOIdisplaced from the lateral or geometrical centre of the currentlydisplayable region, the displacement being such that the HMD user isprompted to turn his head so as to change the orientation of the HMDtowards the base orientation.

FIG. 24 is a schematic flowchart illustrating (by way of summary) amethod as discussed above, comprising:

detecting (at a step 2400) a current orientation of a head mountabledisplay (HMD) to display video content; and

generating (at a step 2410) video content for display by the HMD, thevideo content representing a portion of a virtual environment,comprising selecting the portion for display by the HMD in dependenceupon:

a current orientation of the HMD; and

a location within the virtual environment of a feature of interest.

It will be appreciated that example embodiments can be implemented bycomputer software operating on a general purpose computing system suchas a games machine. In these examples, computer software, which whenexecuted by a computer, causes the computer to carry out any of themethods discussed above is considered as an embodiment of the presentdisclosure. Similarly, embodiments of the disclosure are provided by anon-transitory, machine-readable storage medium which stores suchcomputer software.

It will be apparent that numerous modifications and variations of thepresent disclosure are possible in light of the above teachings. It istherefore to be understood that within the scope of the appended claims,the disclosure may be practised otherwise than as specifically describedherein.

1. A virtual reality apparatus comprising: a head mountable display(HMD) to display video content; an orientation detector to detect acurrent orientation of the HMD; and a display generator to generatevideo content for display by the HMD, the video content representing aportion of a virtual environment, the display generator selecting theportion for display by the HMD in dependence upon: a current orientationof the HMD; and a location within the virtual environment of a featureof interest.
 2. The virtual reality apparatus according to claim 1,wherein the display generator is configured to detect the locationwithin the virtual environment of a feature of interest from metadataassociated with a representation of the virtual environment.
 3. Thevirtual reality apparatus according to claim 2, wherein therepresentation is a video representation of the virtual environment. 4.The virtual reality apparatus according to claim 1, wherein the displaygenerator comprises a game processor configured to generate therepresentation of the virtual environment including the feature ofinterest.
 5. The virtual reality apparatus according to claim 1, whereinthe display generator is configured to generate the content so that thefeature of interest is substantially at the centre of the video contentfor display by the HMD.
 6. The virtual reality apparatus according toclaim 1, comprising: a detector to detect a deviation of a currentorientation of the HMD from a base orientation of the HMD; in which thedisplay generator is configured to generate the video content fordisplay by the HMD so that the feature of interest is displaced from acentral display position, the displacement being such that a wearer ofthe HMD is prompted to turn his head so as to change the orientation ofthe HMD towards the base orientation.
 7. The virtual reality apparatusaccording to claim 5, wherein, after the feature of interest has beeninitially displayed, the display generator is configured to change theselection of the video content in response to detected changes inorientation of the HMD.
 8. The virtual reality apparatus according toclaim 5, wherein the display generator is configured to change theposition of the video content for display by the HMD with respect to thevirtual environment at no more than a maximum rate of change.
 9. Thevirtual reality apparatus according to claim 1, wherein, if therepresentation of the virtual environment does not currently contain afeature of interest, the display generator is configured to change theselection of the video content in response to detected changes inorientation of the HMD.
 10. A method comprising: detecting a currentorientation of a head mountable display (HMD) to display video content;generating video content for display by the HMD, the video contentrepresenting a portion of a virtual environment, comprising selectingthe portion for display by the HMD in dependence upon: a currentorientation of the HMD; and a location within the virtual environment ofa feature of interest.
 11. (canceled)
 12. A non-transitory,machine-readable storage medium which stores computer software, whichwhen executed by a computer, causes the computer to carry out actions,comprising: detecting a current orientation of a head mountable display(HMD) to display video content; generating video content for display bythe HMD, the video content representing a portion of a virtualenvironment, comprising selecting the portion for display by the HMD independence upon: a current orientation of the HMD; and a location withinthe virtual environment of a feature of interest.